stdlib.h এর ইউটিলিটি ফাংশনসমূহ

Computer Programming - সি স্ট্যান্ডার্ড লাইব্রেরি রেফারেন্স (C Standard Library Reference) Utility Functions (ইউটিলিটি ফাংশনস) |
214
214

stdlib.h এর ইউটিলিটি ফাংশনসমূহ

stdlib.h হেডার ফাইলটি সি প্রোগ্রামিং ভাষায় স্ট্যান্ডার্ড লাইব্রেরির বিভিন্ন ইউটিলিটি ফাংশন সরবরাহ করে। এই ফাংশনগুলো বিভিন্ন ধরনের কাজ সম্পাদন করতে ব্যবহৃত হয়, যেমন ডাইনামিক মেমোরি অ্যালোকেশন, টাইপ কাস্টিং, এলিমেন্ট সোর্টিং, সংখ্যার রূপান্তর, র্যান্ডম সংখ্যা উৎপাদন ইত্যাদি।

এখানে stdlib.h এর কিছু গুরুত্বপূর্ণ ইউটিলিটি ফাংশনের ব্যাখ্যা দেওয়া হলো:


১. atoi() – স্ট্রিং থেকে ইন্টিজার রূপান্তর

atoi() ফাংশনটি একটি স্ট্রিংকে ইন্টিজারে রূপান্তর করে। যদি স্ট্রিংয়ে বৈধ সংখ্যা থাকে, তবে এটি সংখ্যায় রূপান্তর করে।

সিঙ্কট্যাক্স:

int atoi(const char *str);

উদাহরণ:

#include <stdio.h>
#include <stdlib.h>

int main() {
    char str[] = "123";
    int num = atoi(str);
    printf("Integer: %d\n", num);
    return 0;
}

২. atof() – স্ট্রিং থেকে ফ্লোট রূপান্তর

atof() ফাংশনটি একটি স্ট্রিংকে ফ্লোটিং পয়েন্ট সংখ্যায় রূপান্তর করে।

সিঙ্কট্যাক্স:

double atof(const char *str);

উদাহরণ:

#include <stdio.h>
#include <stdlib.h>

int main() {
    char str[] = "3.14159";
    double num = atof(str);
    printf("Float: %lf\n", num);
    return 0;
}

৩. atol() এবং atoll() – স্ট্রিং থেকে লং ইন্টিজার এবং লং লং ইন্টিজার রূপান্তর

atol() এবং atoll() ফাংশনগুলো স্ট্রিংকে যথাক্রমে long এবং long long ইন্টিজারে রূপান্তর করে।

সিঙ্কট্যাক্স:

long int atol(const char *str);
long long int atoll(const char *str);

উদাহরণ:

#include <stdio.h>
#include <stdlib.h>

int main() {
    char str[] = "123456";
    long int num = atol(str);
    printf("Long int: %ld\n", num);
    return 0;
}

৪. rand() – র্যান্ডম সংখ্যা তৈরি

rand() ফাংশনটি র্যান্ডম সংখ্যা তৈরি করতে ব্যবহৃত হয়। এটি ০ থেকে RAND_MAX পর্যন্ত একটি সংখ্যা রিটার্ন করে।

সিঙ্কট্যাক্স:

int rand(void);

উদাহরণ:

#include <stdio.h>
#include <stdlib.h>

int main() {
    printf("Random number: %d\n", rand());
    return 0;
}

বিঃদ্রঃ: র্যান্ডম সংখ্যা সিড সেট করার জন্য srand() ফাংশনটি ব্যবহার করা হয়।


৫. srand() – র্যান্ডম সংখ্যা সিড সেট করা

srand() ফাংশনটি rand() ফাংশনের জন্য একটি সিড (seed) সেট করে, যা প্রতিবার আলাদা র্যান্ডম সংখ্যা উৎপন্ন করতে সহায়ক।

সিঙ্কট্যাক্স:

void srand(unsigned int seed);

উদাহরণ:

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main() {
    srand(time(0));  // সিড হিসেবে বর্তমান সময় ব্যবহার করা
    printf("Random number: %d\n", rand());
    return 0;
}

৬. abs() – ইন্টিজারের অ্যাবসোলিউট মান নির্ণয়

abs() ফাংশনটি একটি ইন্টিজার সংখ্যার অ্যাবসোলিউট মান নির্ণয় করতে ব্যবহৃত হয়।

সিঙ্কট্যাক্স:

int abs(int n);

উদাহরণ:

#include <stdio.h>
#include <stdlib.h>

int main() {
    int num = -10;
    printf("Absolute value: %d\n", abs(num));
    return 0;
}

৭. labs() এবং llabs() – লং এবং লং লং ইন্টিজারের অ্যাবসোলিউট মান নির্ণয়

labs() এবং llabs() ফাংশনগুলো যথাক্রমে long এবং long long ইন্টিজারের অ্যাবসোলিউট মান নির্ণয় করতে ব্যবহৃত হয়।

সিঙ্কট্যাক্স:

long int labs(long int n);
long long int llabs(long long int n);

উদাহরণ:

#include <stdio.h>
#include <stdlib.h>

int main() {
    long int num = -123456;
    printf("Absolute long int value: %ld\n", labs(num));
    return 0;
}

৮. qsort() – এলিমেন্ট সোর্ট করা

qsort() ফাংশনটি একটি এরে বা ডেটা এলিমেন্টকে দ্রুত (quick sort) পদ্ধতিতে সজ্জিত করতে ব্যবহৃত হয়। এটি যে কোন ধরনের ডেটা টাইপের সাথে কাজ করতে পারে।

সিঙ্কট্যাক্স:

void qsort(void *base, size_t num, size_t size, int (*compar)(const void *, const void *));

উদাহরণ:

#include <stdio.h>
#include <stdlib.h>

int compare(const void *a, const void *b) {
    return (*(int *)a - *(int *)b);
}

int main() {
    int arr[] = {5, 2, 8, 1, 4};
    int n = sizeof(arr) / sizeof(arr[0]);

    qsort(arr, n, sizeof(int), compare);

    printf("Sorted array: ");
    for (int i = 0; i < n; i++) {
        printf("%d ", arr[i]);
    }
    return 0;
}

৯. bsearch() – বাইনারি সার্চ

bsearch() ফাংশনটি একটি সজ্জিত (sorted) এরে থেকে একটি নির্দিষ্ট এলিমেন্ট খুঁজে বের করতে ব্যবহৃত হয়। এটি বাইনারি সার্চ অ্যালগরিদম ব্যবহার করে কাজ করে।

সিঙ্কট্যাক্স:

void *bsearch(const void *key, const void *base, size_t num, size_t size, int (*compar)(const void *, const void *));

উদাহরণ:

#include <stdio.h>
#include <stdlib.h>

int compare(const void *a, const void *b) {
    return (*(int *)a - *(int *)b);
}

int main() {
    int arr[] = {1, 2, 4, 5, 8};
    int n = sizeof(arr) / sizeof(arr[0]);
    int key = 4;

    int *item = (int *)bsearch(&key, arr, n, sizeof(int), compare);

    if (item != NULL) {
        printf("Element found: %d\n", *item);
    } else {
        printf("Element not found\n");
    }
    return 0;
}

সারসংক্ষেপ

ফাংশনকাজউদাহরণ
atoi()স্ট্রিং থেকে ইন্টিজারে রূপান্তরatoi("123");
atof()স্ট্রিং থেকে ফ্লোটে রূপান্তরatof("3.14");
atol()স্ট্রিং থেকে লং ইন্টিজারে রূপান্তরatol("123456");
rand()র্যান্ডম সংখ্যা তৈরিrand();
srand()র্যান্ডম সংখ্যা সিড সেট করাsrand(time(0));
abs()ইন্টিজারের অ্যাবসোলিউট মান নির্ণয়abs(-10);
qsort()এলিমেন্ট সজ্জিত (সোর্ট) করাqsort(arr, n, sizeof(int), compare);
bsearch()বাইনারি সার্চbsearch(&key, arr, n, sizeof(int), compare);

stdlib.h এর এই ইউটিলিটি ফাংশনগুলো সি প্রোগ্রামিংয়ে বিভিন্ন ধরনের কার্যকর কাজ সম্পাদন করতে সহায়ক, যেমন ডেটা রূপান্তর, মেমোরি ম্যানেজমেন্ট, র্যান্ডম সংখ্যা উৎপাদন, এবং সঠিকভাবে ডেটা সার্চ ও সজ্জিতকরণ।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion